package cut;

import java.util.Arrays;
import java.util.Objects;

import static cut.MyEnum.ENUM_VALUE_1;
import static cut.MyEnum.ENUM_VALUE_2;

public class VariableType {

    // bype类型
    public boolean byteSoloIf(byte op) {
        if (op >= 0) {
            return true;
        }else return false;
    }

    // short类型
    public boolean shortSoloIf(short op) {
        if (op >= 0) {
            return true;
        }else return false;
    }

    // long类型
    public boolean longSoloIf(long op) {
        if (op >= 0) {
            return true;
        }else return false;
    }

    // float类型
    public boolean floatSoloIf(float op) {
        if (op >= 0.0) {
            return true;
        }else return false;
    }

    // double类型
    public boolean doubleSoloIf(double op) {
        if (op >= 0.0) {
            return true;
        }else return false;
    }

    // char类型
    public boolean charSoloIf(char op) {
        if (op > 'a')
            return true;
        return false;
    }

    // boolean类型
    public boolean boolSoloIf(boolean op) {
        if (op == true)
            return true;
        return false;
    }

    // String类型
    public boolean stringSoloIf(String op) {
//        if (op.compareTo("ab") >= 0)
        if (op.equals("ab"))
            return true;
        return false;
    }
    // String类型
    public boolean stringSoloIf2(String op) {
        if (op.length() >= 10)
            return true;
        return false;
    }

    //数组类型
    public boolean arraySoloIf(int[] arr){
        if(arr.length >= 2)
            return true;
        return false;
    }

    public boolean arraySoloIf2(String[][] sarr){
//        String[] temp = new String[3];
//        for(int i=0;i<temp.length;i++){
//            temp[i] = "abc"+i;
//        }
//        if(Arrays.equals(sarr, temp)){
//            return true;
//        }
        if (sarr[1][1].length() > 2)
            return true;
        return false;
    }

    //枚举类型
    public int enumMultiIf(MyEnum e) {
        // 根据传入的枚举值执行相应的逻辑
        switch (e) {
            case ENUM_VALUE_1:
                // 执行 ENUM_VALUE_1 的逻辑
                return 1; // 或者执行其他操作
            case ENUM_VALUE_2:
                // 执行 ENUM_VALUE_2 的逻辑
                return 2; // 或者执行其他操作
            case ENUM_VALUE_3:
                // 执行 ENUM_VALUE_3 的逻辑
                return 3; // 或者执行其他操作
            default:
                // 默认情况
                // 这实际上是一个不可达路径
                return 4;
        }
    }

    public int enumMultiIf2(MyEnum myEnum) {
        if (myEnum == ENUM_VALUE_1) {
            return -1;
        } else if (myEnum == ENUM_VALUE_2) {
            return 1;
        } else {
            return 0;
        }
    }

    //Student类
    public boolean classSoloIf(Student st1, int a){
//        if(Objects.equals(st1.getId(), "001") && a == 1){
        if("001".equals(st1.getId()) && a == 1){
            return true;
        }
        return false;
    }

    public boolean classSoloIf2(Student st1, Student st2){
        return st1.getScore() > st2.getScore();
    }

    public boolean classSoloIf3(Student st1, Student st2){
//        if(Objects.equals(st1.getId(), "001") && a == 1){
        if(st2.getId().equals(st1.getId())){
            return true;
        }
        return false;
    }

    public int test001(int op) {
        int sum = 0;
        for (int i = 0; i < op; i++) {
            sum += i;
        }
        return sum;
    }
    public int test002(String str) {
        if (str.length() < 10) {
            return 1;
        }else if (str.length() < 20){
            return 0;
        }else {
            return -1;
        }
    }
    //测试普通类
    public int classMultIf(Student person) {
        int temp = person.getAge();
        if (person.getAge() > 0) {
            return test001(temp);
        }else {
            return test001(-temp);
        }
    }

}
